package com.itany.corejava.code08_常用类.其他类;

/**
 * @author 石小俊
 * @version 1.0
 * @date 2023年03月17日 15:48
 */
public class Test03_Math {

    public static void main(String[] args) {
        // 取15-36的随机整数
        int i = (int) (Math.random() * 22 + 15);
        System.out.println(i);
        // 规律:取x-y的随机数
        // Math.random() * (y - x + 1) + x
        // 取c-d的随机字符
        char c = (char) (Math.random() * ('d' - 'c' + 1) + 'c');
        System.out.println(c);

        // 常量
        System.out.println("圆周率"+Math.PI);
        System.out.println("自然对数:"+Math.E);

        // abs():绝对值
        System.out.println(Math.abs(-1));

        // round():四舍五入
        // 3.1 --> 3
        System.out.println(Math.round(Math.PI));
        // 2.7 --> 3
        System.out.println(Math.round(Math.E));
        // 保留三位小数,被除数必须是小数,此时结果3.142
        System.out.println(Math.round(Math.PI * 1000) / 1000.0);

        // floor(d):返回小于等于d的最大整数,其值是double类型
        System.out.println(Math.floor(3.5678)); // 3.0
        System.out.println(Math.floor(-3.5678)); // -4.0

        // ceil(d):返回大于等于d的最小整数,其值是double类型
        System.out.println(Math.ceil(3.56)); // 4.0
        System.out.println(Math.ceil(-3.56)); // -3.0

        // pow(x,y):返回x^y,返回值是double类型
        System.out.println(Math.pow(200,3)); // 8000000.0
        System.out.println(Math.pow(2,-2)); // 0.25
        System.out.println(Math.pow(300,0)); // 1.0
        System.out.println(Math.pow(0,0)); // 1.0

        // 最大值
        System.out.println(Math.max(-3.14,-3.15)); // -3.14

        // 最小值
        System.out.println(Math.min(3,4)); // 3

    }

}
